package com.dragon.mmochat.model.enumType;

//注：一旦发版,如果此enum会存到数据库，则此类型只能增加,不能减少或修改名字
//此类增加项后，MmochatBattleType类要相应增加
public enum MmochatTaskType {
	凤鸣岐山(1, false, false, true), 哪吒闹海(2, false, false, true), 普通任务(3, false,
			false, true), 新手指引(4, false, false, true), 步步惊心(5, false, false,
			true), 过渡任务(100, false, false, false), 每日大众任务(101, true, false,
			true), 每日等级任务(102, true, false, true), 除暴安良(103, true, false, true), 斩妖除魔(
			104, true, false, true), 修仙之路(105, true, false, true), 击杀BOSS(106,
			true, false, true), 击杀天干地支(107, true, false, true), 击杀活动怪物(108,
			true, false, true), 帮派任务(109, false, false, false), 寻宝任务(110, true,
			false, false), 击杀鬼怪(111, true, false, true), 高人指点(112, true, false,
			true), 真假情报(113, true, false, false), 挑战地图守护神(114, true, false,
			true), 挑战本派最强(115, true, false, true), 挑战锁妖塔(116, true, false, true), 驱赶年兽(
			117, true, false, true), 击杀无奖励临时怪物(118, true, false, true), 击杀血魔副本之树妖(
			119, true, false, true), 击杀血魔副本之大力虎(120, true, false, true), 击杀血魔副本之白发魔女(
			121, true, false, true), 击杀血魔副本之终极BOSS(122, true, false, true), 挑战纪念兽(
			123, true, false, true), 击杀战神(124, true, false, true), 门派试炼(125,
			false, false, true),

	押送镖银之消灭饕餮(126, true, false, true), 押送镖银之消灭巫妖(127, true, false, true), 押送镖银之消灭蟹将(
			128, true, false, true), 押送镖银之消灭彼岸花(129, true, false, true), 押送镖银(
			130, true, false, true),

	其它(200, true, false, false);

	int value;
	boolean canDrop; // 任务详情面板是否有“放弃”功能
	boolean isLoopTask; // 不限时，不限次数，每天允许做无限次的任务
	boolean hasFinishNpc; // 是否有交任务NPC(npcId>0)

	MmochatTaskType(int value, boolean canDrop, boolean isLoopTask,
			boolean hasFinishNpc) {
		this.value = value;
		this.canDrop = canDrop;
		this.isLoopTask = isLoopTask;
		this.hasFinishNpc = hasFinishNpc;
	}

	public int getValue() {
		return value;
	}

	public void setValue(int value) {
		this.value = value;
	}

	public boolean isCanDrop() {
		return canDrop;
	}

	public boolean isLoopTask() {
		return isLoopTask;
	}

	public boolean isHasFinishNpc() {
		return hasFinishNpc;
	}

	public static MmochatTaskType get(int value) {
		for (MmochatTaskType type : MmochatTaskType.values()) {
			if (type.getValue() == value) {
				return type;
			}
		}
		return 其它;
	}

}
